package com.xinqi.modules.databank.v2.service.common.impl;

import com.xinqi.common.base.response.R;
import com.xinqi.modules.course.content.dto.client.CourseContentClient;
import com.xinqi.modules.course.content.dto.rsp.CourseContentResultDTO;
import com.xinqi.modules.databank.v2.service.common.CourseContentService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 资料库同步删除课程内容汇总信息公共方法
 * @author dzy
 */

@Service
@RequiredArgsConstructor
public class CourseContentServiceImpl implements CourseContentService {

    private final CourseContentClient courseContentClient;

    /**
     * 获取资料库-课程内容汇总 数据
     * @param contentId 资料库ID
     * @author dzy
     */
    @Override
    public CourseContentResultDTO findByContentId(Long contentId) {
        return courseContentClient.findContentById(contentId).getData();
    }

    /**
     * 单个删除资料库-课程内容汇总 数据
     * @author dzy
     */
    @Override
    public boolean deletedById(Long id) {
        return courseContentClient.removeById(id).getData();
    }

    /**
     * 批量获取资料库-课程内容汇总 数据
     * @param ids 资料库ID集合
     * @author dzy
     */
    @Override
    public List<CourseContentResultDTO> findByContentIds(List<Long> ids) {
        return courseContentClient.findContentList(ids).getData();
    }

    /**
     * 批量删除资料库-课程内容汇总 数据
     * @author dzy
     */
    @Override
    public boolean deletedByIds(List<Long> ids) {
        return R.as(courseContentClient.deleteCourseContentByIds(ids, 0));
    }
}
